package com.codegero.android.client.sms.gateway.entity.factory;

import java.util.ArrayList;
import java.util.List;


import com.codegero.internet.HttpGero;
import com.codegero.internet.HttpHeaderGero;

public class GatewayDataFactory {
	
	public GatewayDataFactory(){
		httpGero = new HttpGero(URL_DEFAULT, PORT_DEFAULT, null);
	}
	public GatewayDataFactory(String url, int port){
		httpGero = new HttpGero(url, port, null);
	}
//	public List<GatewayData> getGatewayDatas(){
//		HttpParameterGero parameter = new HttpParameterGero();
//		parameter.setId(PARAMETER_ID);
//		parameter.setValue(PARAMETER_GETWAY_DATAS);
//		httpGero.getParameters().add(parameter);
//		HttpHeaderGero header = new HttpHeaderGero();
//		header.setId("Accept");
//		header.setValue("application/json");
//		httpGero.getHeaders().add(header);
//		httpGero.sendRequest();
//		return getGetwayDatasFromJsonString(httpGero.getResponse());
//	}
	
	public List<String> getNoHps(){
		
		HttpHeaderGero header = new HttpHeaderGero();
		header.setId("Accept");
		header.setValue("text/plain");
		httpGero.getHeaders().add(header);
		httpGero.sendRequest();
		return getNoHpsFromText(httpGero.getResponse());
	}
	
	private List<String> getNoHpsFromText(String text){
		String[]arrNoHps 	= text.split(",");
		List<String> noHps 	= new ArrayList<String>();
		for(String noHp: arrNoHps){
			noHps.add(noHp);
		}
		return noHps;
	}
	
//	private List<GatewayData> getGetwayDatasFromJsonString(String json){
//		List<GatewayData> gatewayDatas = new ArrayList<GatewayData>();
//		try {
//			JSONObject jsonObject = new JSONObject(json);
//			JSONArray datas = jsonObject.getJSONArray("datas");
//			for(int i = 0;i<datas.length();i++){
//				JSONObject data = datas.getJSONObject(i);
//				gatewayDatas.add(getGetwayDataFromJsonObject(data));
//			}
//		} catch (JSONException e) {
//			e.printStackTrace();
//		}
//		return gatewayDatas;
//	}	
//	
//	private GatewayData getGetwayDataFromJsonObject(JSONObject data){
//		GatewayData gatewayData = new GatewayData();
//		try {
//			gatewayData.setKode(data.getString("kode"));
//			gatewayData.setNoHp(data.getString("noHp"));
//			gatewayData.setPesan(data.getString("pesan"));
//		} catch (JSONException e) {
//			e.printStackTrace();
//		}
//		return gatewayData;
//	}
	private HttpGero httpGero;
	
	private final static String URL_DEFAULT = "http://localhost";
	private final static int 	PORT_DEFAULT= 80;
	
	private final static String PARAMETER_ID = "tipe";
	
	private final static String PARAMETER_GETWAY_DATAS	= "all";
	private final static String PARAMETER_NO_HP			= "number";
}
